﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;

// //////importamos
using DBTramite.BussinesEntities;
using DBTramite.BussinesLogic;
using Microsoft.Practices.Unity;
using Kendo.Mvc.UI;
using Kendo.Mvc.Extensions;

namespace DBTramite.WebMVC4.Controllers
{
    public class T_DocumentoController : Controller
    {
        [Dependency]
        public I_TDocumentoService TDocumentoService { get; set; }

        [Dependency]
        public IDependenciaService dependenciaService { get; set; }
        
       
        //
        // GET: /T_Documento/................

        public ActionResult Index()
        {
            var lista = TDocumentoService.GetT_DocumentosByCriterio("");
            return View(lista);
        }
        [HttpPost]
        public ActionResult Index(string criterio = "")
        {
            var lista = TDocumentoService.GetT_DocumentosByCriterio(criterio);
            return View(lista);
        }
        public ActionResult Create()
        {
            var t_documento = new T_Documento();
            var t_unidad = new T_Unidad();
            
            return View(t_documento);
        }
        //post:/T_Emisor/Create

        [HttpPost]
        public ActionResult Create(T_Documento t_documento)
        {
            TDocumentoService.AddT_Documento(t_documento);
            return RedirectToAction("Index");
        }
        public ActionResult Edit(string id)
        {
            var documento = TDocumentoService.GetT_DocumentoByNroExpediente(id);

            return View(documento);
        }
        [HttpPost]
        public ActionResult Edit(Int32 id, T_Documento t_documento)
        {
            try
            {
                TDocumentoService.UpdateT_Documento(t_documento);

                return RedirectToAction("Index");
            }
            catch
            {
                return View();
            }
        }

        public ActionResult Delete(Int32 id)
        {
            TDocumentoService.RemoveT_Documento(id);

            return RedirectToAction("Index");
        }
        [HttpPost]
        public ActionResult Delete(Int32 id, FormCollection collection)
        {
            try
            {

                return RedirectToAction("Index");
            }
            catch
            {
                return View();
            }
        }
        public ActionResult AutoCompletePage()
        {
            return View();
        }
        public ActionResult Resportes()
        {
            var lista = TDocumentoService.GetT_DocumentosByCriterio("");
            return View(lista);
        }       

        public JsonResult GetDependencias()
        {
            //var lista = auspiciadorService.GetFromAllAuspiciadores();

            var query = from d in dependenciaService.GetFromAllDependenciasByNombre()
                        select d;
                        //select new { Marca = a.idAuspiciador + " - " + a.Marca + " - " + a.RazonSocial, Value = a.idAuspiciador };

            return Json(query, JsonRequestBehavior.AllowGet);
        }

        //public JsonResult GetEmisores()
        //{
        //    //var lista = auspiciadorService.GetFromAllAuspiciadores();

        //    var query = from e in  emisorService.GetFromAllEmisores()
        //                select e;
        //    //select new { Marca = a.idAuspiciador + " - " + a.Marca + " - " + a.RazonSocial, Value = a.idAuspiciador };

        //    return Json(query, JsonRequestBehavior.AllowGet);
        //}
        

        //[HttpGet]
        //public ActionResult CrearExpediente()
        //{
        //    var expediente = new T_Expediente();
        //    var t_unidad = new T_Unidad();

        //    return View(expediente);
        //}

        //[HttpPost]
        //public ActionResult CrearExpediente(T_Expediente expediente)
        //{
        //    expedienteService.AddT_Expediente(expediente);
            
        //    return View(expediente);
        //}

    }

}
